From: Marco Trevisan (TreviƱo) Date: Tue, 28 May 2019 04:03:17 +0000 (-0500) Subject: background: Use Garbage Collector to dispose background X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~845^2^2~150 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=a9234f7631f2228184d027419cab1350666ffdc1;p=gnome-shell.git background: Use Garbage Collector to dispose background The same Meta.Background could be used by multiple instances of background actors, and so should not be disposed when the actor using it is destroyed. Instead of calling `run_dispose` directly on it, just nullify the reference on destroy method, leaving the job of doing the proper disposition to the gabage collector that keeps the proper reference count on the Meta.Background. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/501 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/558 --- diff --git a/js/ui/background.js b/js/ui/background.js index 06e038816..d107fee1b 100644 --- a/js/ui/background.js +++ b/js/ui/background.js @@ -265,6 +265,8 @@ var Background = class Background { } destroy() { + this.background = null; + this._cancellable.cancel(); this._removeAnimationTimeout(); @@ -699,7 +701,6 @@ var BackgroundManager = class BackgroundManager { time: FADE_ANIMATION_TIME, transition: 'easeOutQuad', onComplete() { - oldBackgroundActor.background.run_dispose(); oldBackgroundActor.destroy(); } });